Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add process subcommands for multiple machines #17861

Closed
wants to merge 25 commits into from

Conversation

twalluxio
Copy link
Contributor

@twalluxio twalluxio commented Jul 31, 2023

Add process commands with multiple machines to golang CLI as part of #17522

bin/alluxio-start.sh masters -> bin/cli.sh process start masters
bin/alluxio-start.sh job_masters -> bin/cli.sh process start job_masters
bin/alluxio-start.sh workers -> bin/cli.sh process start workers
bin/alluxio-start.sh job_workers -> bin/cli.sh process start job_workers
bin/alluxio-start.sh proxies -> bin/cli.sh process start proxies
bin/alluxio-start.sh all -> bin/cli.sh process start all
bin/alluxio-start.sh local -> bin/cli.sh process start local

bin/alluxio-stop.sh masters -> bin/cli.sh process stop masters
bin/alluxio-stop.sh job_masters -> bin/cli.sh process stop job_masters
bin/alluxio-stop.sh workers -> bin/cli.sh process stop workers
bin/alluxio-stop.sh job_workers -> bin/cli.sh process stop job_workers
bin/alluxio-stop.sh proxies -> bin/cli.sh process stop proxies
bin/alluxio-stop.sh all -> bin/cli.sh process stop all
bin/alluxio-stop.sh local -> bin/cli.sh process stop local

For command process start on multiple machines, using crypto's ssh package to create an SSH session, connect to all machines, then send according subcommand on single machine to these machines.
PR design complete, pending tests...

Xenorith and others added 10 commits June 2, 2023 12:47
- Add cli/ folder containing golang code
- Add script to compile code to executable in build/cli/build-cli.sh
- Add entrypoint script for development in bin/cli.sh
- Add build profile to build the CLI as part of tha maven build via `-PgoCli`
- Add `conf` service, consisting of
  - `bin/cli.sh conf get` as an example command, equivalent to `bin/alluxio getConf`
  - `bin/cli.sh conf log --name fully.qualified.class.path`, equivalent to `bin/alluxio fsadmin logLevel --logName fully.qualified.class.path` 

See Alluxio#17522 for more background info

			pr-link: Alluxio#17532
			change-id: cid-9e3bf70e1a20848e2e4ec59b08b3de00bebc527d
dev docs for defining conventions for the new alluxio cli in golang

see Alluxio#17522
			pr-link: Alluxio#17530
			change-id: cid-12886237cf2135b3a8c37d6b0ffa01ff6aaa6d92
- Add commands to start/stop individual processes, ex. `bin/cli.sh process start master`
- Define process interface and registry
  - process specific java opts are defined with the process and are dynamically added to env
- Add journal format command as part of starting master process
- Mount options for worker are not ported because they will be deprecated in the near future

continues to address Alluxio#17522
			pr-link: Alluxio#17561
			change-id: cid-1df162d6909669fa0c5a1e3449e5141d1e86ed06
Adds `info` subcommand, which contains:
- `cache`: worker capacity information, calls the existing `bin/alluxio fsadmin report capacity` command
- `collect`: collects cluster information into a single tarball, calls the existing `bin/alluxio collectInfo` command
- `master`: master quorum information, calls the existing `bin/alluxio fs masterInfo` command
- `report`: cluster information, calls the existing `bin/alluxio fsadmin report` command, excluding the `capacity` category

Alluxio#17522
			pr-link: Alluxio#17566
			change-id: cid-2483fdb693f1572b0bf9c798503ea9cfd8e52b1d
Add journal commands to CLI as part of Alluxio#17522
			pr-link: Alluxio#17569
			change-id: cid-5b23a8a36c129fc609d30fcfe5469c7ef9aefc51
Add quorum/HA related commands as part of Alluxio#17522
			pr-link: Alluxio#17570
			change-id: cid-e9c76998b8fbfd023e0898c876cc495801a87fc5
Add fs commands to golang CLI as part of Alluxio#17522

unlike other CLI commands, utilize arguments to maintain the existing structure of filesystem commands (ex. cp, du, ls, mv, rm, etc)

			pr-link: Alluxio#17580
			change-id: cid-c1d0d86604679d62fee214b9f9c0e20cd052e164
@alluxio-bot
Copy link
Contributor

Automated checks report:

  • PR title follows the conventions: FAIL
    • The title of the PR does not pass all the checks. Please fix the following issues:
      • First word of title ("Adding") is not an imperative verb. Please use one of the valid words
  • Commits associated with Github account: PASS

Some checks failed. Please fix the reported issues and reply 'alluxio-bot, check this please' to re-run checks.

@twalluxio twalluxio changed the title Adding process subcommands for multiple machines Add process subcommands for multiple machines Aug 1, 2023
@alluxio-bot
Copy link
Contributor

Automated checks report:

  • PR title follows the conventions: PASS
  • Commits associated with Github account: PASS

All checks passed!

@twalluxio twalluxio marked this pull request as ready for review August 2, 2023 02:53
@twalluxio twalluxio closed this Aug 4, 2023
@twalluxio twalluxio deleted the golangCli-rsnyc branch August 4, 2023 01:33
@twalluxio twalluxio restored the golangCli-rsnyc branch August 4, 2023 01:46
@twalluxio twalluxio deleted the golangCli-rsnyc branch August 14, 2023 04:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants